package main

import (
	"fmt"
	"strconv"
)


func main(){
	// 整形和整形之间的转换
	// var a int8 =20
	// var b int16 =40 
	// // 低位转高位
	// fmt.Println(int16(a)+b)
	// 整形浮点型之间的转换
	// 整形转化成浮点型
	// var a float32 =20.23
	// var b int =40
	// fmt.Println(a+float32(b))

	// 高位转低位不成功就会溢出
	// var a int8 =20
	// var b int16 = 140

// 其他类型转换成string类型
	// var i int = 20
	// var f float64=12.456
	// var t bool =true
	// var b byte ='a'

	// str1 :=fmt.Sprintf("%d",i)
	// fmt.Printf("%v",str1)
	// fmt.Printf("类型:%T",str1)
	
	// str2 :=fmt.Sprintf("%.2f",f)
	// fmt.Printf("值:%v  类型:%T\n",str2,str2)

	// str3 :=fmt.Sprintf("%t",t)
	// fmt.Printf("值:%v  类型:%T\n",str3,str3)

	// str4 :=fmt.Sprintf("%c",b)
	// fmt.Printf("值:%v  类型:%T\n",str4,str4)

	// 属于strconv包里面的几个包转换
	// 通过strconv 把其他类型转换成string

	// FormatInt(参数1: int64的数值)
	// 参数2  传值int类型的进制
	// var i int =20
	// str1 :=strconv.FormatInt(int64(i),10)
	// fmt.Printf("值:%v  类型:%T\n",str1,str1)

	// var f float32 =20.23
	// // func FormatFloat(f float64, fmt byte, prec, bitSize int) 
	// str1 :=strconv.FormatFloat(float64(f),'f',2,64)
	// str2 :=strconv.FormatFloat(float64(f),'f',4,64)
	// fmt.Printf("值:%v  类型:%T\n",str1,str1)
	// fmt.Printf("值:%v  类型:%T\n",str2,str2)

	// bool转字符串
	// str3 :=strconv.FormatBool(true)  //没有任何意义
	// fmt.Printf("值:%v  类型:%T\n",str3,str3)

	// // 
	a :='a'  //没有任何意义
	str4 :=strconv.FormatUint(uint64(a),10)
	fmt.Printf("值:%v  类型:%T\n",str4,str4)


}